/**
 * Copyright &copy; 2015-2020 <a href="http://www.easyhis.com/">easyhis</a> All rights reserved.
 */
package com.easy.modules.iim.service;

import com.easy.core.persistence.Page;
import com.easy.core.service.BaseService;
import com.easy.modules.iim.entity.Mail;

import java.util.Collection;
import java.util.List;

/**
 * 发件箱Service
 * @author easy
 * @version 2015-11-15
 */
public interface MailService extends BaseService {
    public void saveOnlyMain(Mail mail);
    public void delete(Mail mail) ;

    /**
     * 获取单条数据
     * @param id
     * @return
     */
    public Mail get(String id);

    /**
     * 获取单条数据
     * @param entity
     * @return
     */
    public Mail get(Mail entity);

    /**
     * 查询列表数据
     * @param entity
     * @return
     */
    public List<Mail> findList(Mail entity);

    /**
     * 查询分页数据
     * @param page 分页对象
     * @param entity
     * @return
     */
    public Page<Mail> findPage(Page<Mail> page, Mail entity);

    /**
     * 保存数据（插入或更新）
     * @param mail
     */
    public void save(Mail mail);


    /**
     * 删除全部数据
     * @param mails
     */
    public void deleteAll(Collection<Mail> mails) ;

    /**
     * 删除全部数据
     * @param mails
     */
    public void deleteAllByLogic(Collection<Mail> mails) ;


    /**
     * 获取单条数据
     * @param propertyName, value
     * @return
     */
    public Mail findUniqueByProperty(String propertyName, Object value);

    /**
     * 动态sql
     * @param sql
     */

    public List<Object> executeSelectSql(String sql);
    public void executeInsertSql(String sql);

    public void executeUpdateSql(String sql);

    public void executeDeleteSql(String sql);
}